﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Hostal.Bussines.Entities;
using Hostal.Bussines.Logic;
using Hostal.Bussines.Logic.Service;
using Microsoft.Practices.Unity;

namespace Hostal.MVC.Controllers
{
    public class HabitaciónController : Controller
    {

        [Dependency]
        public IHabitacionService habitacionService { get; set; }

        [Dependency]
        public ITipoHabitacionService tipo { get; set; }
        //
        // GET: /Habitación/

        public ActionResult Index() // este lo hiciste la vista oo
        {
            var lista = habitacionService.GetAllFromHabitacion();
            return View(lista);
        }

        [HttpPost]
        public ActionResult Index(string criterio)// este cual?? este se ejecuta cuando mandas por post te muestra una lista?? si chica  paer ocuando mandas desd la pagina osea el cuerpo no por url
            // ok y osea quiere decir  m esta buscando a la vez??' este metodo solo c activa cuando presional el booton bucar... 
            //el de arriva cuando es url siii ya entidi 
        {
            var lista = habitacionService.GetFromHabitacionbyCriterio(criterio);
            return View(lista);
        }

        public ActionResult Create()
        {
            var habitacion = new Habitacion();

            var tipoHabitac = tipo.GetAllFromTipodeHabitacion();
            ViewData["Habitacione"] = new SelectList(tipoHabitac, "IdHabitacion", "Descripcion");
            
            return View(habitacion);
        }
        [HttpPost]
        public ActionResult Create(Habitacion habitacion)
        {
            habitacionService.AddHabitacion(habitacion);
            return RedirectToAction("Index");
        } //este

        public ActionResult Edit(Int32 id)//ESTE
        {
            var habitacion = habitacionService.GetFromHabitacionbyId(id);
            return View(habitacion);
        }

        [HttpPost]
        public ActionResult Edit(Habitacion habitacion)
        {
            habitacionService.AddHabitacion(habitacion);
            return RedirectToAction("Index");
        }


        public ActionResult Delete(Int32 id)
        {
            
            habitacionService.RemoveHabitacion(id);
            return RedirectToAction("Index");
        }


    }
}
